package com.meevle.business;

import java.util.List;

import com.meevle.dao.SetDAO;
import com.meevle.dao.SlotDAO;
import com.meevle.dao.UserDAO;
import com.meevle.vo.SetVO;
import com.meevle.vo.SlotVO;
import com.meevle.vo.UserVO;

public interface IPersistenceManager {

	public void persistUser(UserDAO user) throws Exception;

	public UserDAO getUser(UserVO userVo);

	public List<UserDAO> getAllUsers();

	public void updateUser(UserVO oldVo, UserVO newVo);
	
	public void addSetToUser(UserVO userVo, SetVO projectVo);
	
	public void addSlotToUser(UserVO userVo, SlotVO trackVo);

	public SlotDAO getSlot(SlotVO trackVo);

	public List<SlotDAO> getAllSlots();

	public void persistSlot(SlotDAO track);

	public List<SlotDAO> getAllSlotsByName(String trackname);

	public SetDAO getSet(SetVO project);

	public void persistSet(SetDAO project);

	public List<SetDAO> getAllSets();

	public List<SetDAO> getAllSetsByName(String projectname);

	public void updateSet(SetVO oldVo, SetVO newVo);

}
